﻿#include <stdio.h>

//main50：格式化sprintf输出和sscanf拆解字符串函数
int main50(void)
{
	int a = 123;
	char arr[] = "hello";
	char dest[100];
	//2.将数据格式化后放入到字符串中；
	sprintf(dest, "%s %d", arr, a);
	printf("1.按照格式hello 123进行格式化输出字符串dest的值：%s\n", dest);//hello 123

	int b = 0;
	int c, d;
	char arrDest[100];
	char src[] = "hello 123";
	char srcPlus[100] = "1+2=";
	sscanf(src, "%s %d", arrDest, &b);
	printf("3.按照格式化拆解字符串src，得到的目标字符串arrDest的值：%s\n", arrDest);//hello
	printf("4.按照格式化拆解字符串src，得到的int类型数字b的值：%d\n", b);//123

	sscanf(srcPlus, "%d+%d=", &c, &d);
	printf("5.按照格式化拆解字符串srcPlus后，再输出c+d：%d+%d=%d\n", c, d, c + d);//1+2=3
	//7.注意：使用sprintf将格式化后的数据存入到字符串中，则目标字符串的长度要够长，最好设定初始值为100，如 char srcPlus[100]；
	sprintf(srcPlus, "%d+%d=%d", c, d, c + d);
	printf("6.按照格式1+2=3进行格式化输出字符串srcPlus的值：%s\n", srcPlus);//1+2=3
	return 0;
}